home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xml / Schema$FirstNameHashtable.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  1.8 KB  |  59 lines

  1. package com.extensibility.xml;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Hashtable;
  5.  
  6. class Schema$FirstNameHashtable extends Hashtable {
  7.    // $FF: synthetic field
  8.    final Schema this$0;
  9.    Class baseClass;
  10.  
  11.    Schema$FirstNameHashtable(Schema var1, Class var2) {
  12.       this.this$0 = var1;
  13.       this.baseClass = var2;
  14.    }
  15.  
  16.    BaseDeclaration get(String var1) {
  17.       return (BaseDeclaration)super.get(var1);
  18.    }
  19.  
  20.    void put(BaseDeclaration var1) {
  21.       String var2 = var1.getName();
  22.       BaseDeclaration var3 = this.get(var2);
  23.       if (var3 != null) {
  24.          if (this.this$0.declarations.indexOf(var3) >= this.this$0.declarations.indexOf(var1)) {
  25.             super.remove(var2);
  26.             super.put(var2, var1);
  27.          }
  28.       } else {
  29.          super.put(var2, var1);
  30.       }
  31.  
  32.    }
  33.  
  34.    boolean accepts(BaseDeclaration var1) {
  35.       return this.baseClass.isInstance(var1);
  36.    }
  37.  
  38.    public Object remove(Object var1) {
  39.       throw new IllegalArgumentException();
  40.    }
  41.  
  42.    void remove(BaseDeclaration var1) {
  43.       String var2 = var1.getName();
  44.       if (this.get(var2) == var1) {
  45.          super.remove(var2);
  46.          Enumeration var3 = this.this$0.getDeclarations();
  47.  
  48.          while(var3.hasMoreElements()) {
  49.             BaseDeclaration var4 = (BaseDeclaration)var3.nextElement();
  50.             if (this.accepts(var4) && var1 != var4 && var4.getName().equals(var2)) {
  51.                this.put(var4);
  52.                break;
  53.             }
  54.          }
  55.  
  56.       }
  57.    }
  58. }
  59.